TILE(1) TILE(1) NAME tile c based forth-83 standard compiler and programming environment SYNOPSIS forth [dpru size] [file ...] [a argument ...] forth [dpru size] [file ...] [s start-symbol] [argument ...] DESCRIPTION forth uses a command syntax much like a compiler. The file arguments are loaded before the interaction top loop is started. A startsymbol may also be given as an argument making forth act as a `compile-and-go' compiler of applications. Any extra options or parameters passed to forth may be accessed by the application. As extensions of the Forth-83 Standard forth supports floating point numbers, strings, multi-tasking, exceptions, private definitions, argument binding and local variables and much more. Written in C the kernel may be used as a general purpose environment for interactive testing and development of C-code. To provide an interactive programming environment for developing programs forth may be run as a sub-process to GNU Emacs in a specialized forthmode. Source code may be edited and directly tested by passing either a paragraph of code or a whole buffer to forth from Emacs. The forthmode also supports documentation retrieval and automatic indentation of forth code, comments and definitions. An environment variable is used to specify file search paths and support management of libraries of source code. forth compiles faster than most compilers link with approx. 70.000 lines per minute on a SUN-3/60 (and over 200.000 on a SUN-SPARCstation 1). Code is only saved in source form. Loading all available library code takes less than a second. OPTIONS ddictionary-size Size of dictionary in bytes. Default allocation is 1024K bytes. pparameters-stack-size Size of foreground process parameter stack in cells (32-bits). Default allocation is 256 cells. rreturn-stack-size Size of foreground process return stack in cells (32-bits). Default allocation is 256 cells. Version 3.33 August 16, 1990 1 TILE(1) TILE(1) uuser-area-size Size of foreground process user area in bytes. Default allocation is 1024 bytes. a argument ... Allows access of the rest of the arguments. The first arguments is the string forth. s start-symbol Defines the symbol to be used instead of the normal interaction top-loop. The startsymbol becomes the first argument and any further arguments may be accessed by the application. The library contains some examples of argument fetching functions. LIBRARIES The tile environment consists currently of five directories with C kernel source, forth-83 source library, test and example code, manuals and documentation. The directory src contains all the C-level code and the GNU emacs programming environment. The directory lib contains Forth-83 source code modules, consisting of a number of data modelling, and debugging tools, and high level multi- tasking constructs such as semaphores, channels, rendezvous and task types. Documentation of the source code and the kernel are found in the directory man and in the directory doc. These are use for handling manual commands or documentation search in the programming environment (in GNU emacs). Test programs for each forth-83 source library code may be found in the directory tst. FILES file.f83 Forth-83 source input file file.tst Forth-83 source test file file.3 Forth-83 source manual pages file.doc Forth-83 source documentation file kernel.c..h..v multi-tasking c based Forth-83 kernel and extension vocabularies error.c..h error management package io.c..h multi-tasking input package memory.c..h memory management package forth.c this application forth.el GNU Emacs forth-mode source tile.1 this manual Makefile puts the forth application together ENVIRONMENT TILE Path for the tile directory structure. A normal setting for a single user is `$HOME/tile'. TILEPATH Search path for library source files. A normal setting is Version 3.33 August 16, 1990 2 TILE(1) TILE(1) `$TILE/lib:$TILE/tst' which will allow the file include function in forth to locate library source files in the current directory ($PWD), the standard library, and the test code library. forth also looks for files at your home directory ($HOME). MANPATH Search path for manual source files. Used by man for access of manual pages. Setting this environment variable to `$TILE/man:/usr/share/man' will allow you to read the forth manual pages. GNU EMACS FORTH MODE The GNU Emacs forth-mode supports interactive programming, automatic indentation of source code, and documentation search of the forth kernel and library within Emacs. To allow automatic loading of the mode your .emacs file should contain the following definitions; (set-variable 'load-path (append load-path '(nil "~/tile"))) (setq forth-help-load-path '(nil "~/tile/doc")) (setq auto-mode-alist (append '(("\\.tst$" . forth-mode) ("\\.f83$" . forth-mode)) auto-mode-alist)) (autoload 'forth-mode "forth") Further documentation about the forthmode may be found by giving the command `M-x describe-mode' in Emacs. BUGS Bugs should be reported to mip@ida.liu.se. Bugs tend actually to be fixed if they can be isolated, so it is in your interest to report them in such a way that they can be easily reproduced according to get newer version. COPYING Copyright (C) 1989-90 Mikael R.K. Patel Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section entitled "GNU General Public License" is included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations Version 3.33 August 16, 1990 3 TILE(1) TILE(1) of this manual into another language, under the above conditions for modified versions, except that the section entitled "GNU General Public License" may be included in a translation approved by the author instead of in the original English. AUTHORS Mikael R.K. Patel Computer Aided Design Laboratory (CADLAB) Department of Computer and Information Science Linkoping University S-581 83 LINKOPING SWEDEN Email: mip@ida.liu.se Version 3.33 August 16, 1990 4